The Open-Closed Principle